Servers are often clustered so as to make a system to be fault-tolerant and extendable. Traditionally, fail-over clusters have often been used. An active system and a standby system are provided for these fail-over clusters. When a problem has occurred in the active system, operation is continued by switching to the standby system. However, the fail-over clusters have a disadvantage that the standby system at a normal time is not effectively utilized as resources. Power consumption is highlighted, being triggered by global warming. Load balancing clusters, in which both of active and standby systems take charge of processes, are therefore demanded in such a situation.
The load balancing clusters are broadly classified into a single IP (Internet Protocol) address type and a multiple IP address type.
The single IP address type is a system in which a plurality of servers are seemed to have one IP address for all clients, so that the servers look as if they were one server.
On contrast therewith, the multiple IP address type is a system in which a different IP address is presented for each client to make access to a corresponding server. In the multiple IP address system, in order to cause different IP addresses to look as if they were one address, it is arranged to set the different IP addresses to represent a server name on a name resolution layer for resolving the IP address itself (resolution of the IP address from the server name). As a typical method of the multiple IP address system, DNS (Domain Name Server) load balancing or the like is known.
That is, in the multiple IP address system, name resolving means such as a DNS is necessary, and a problem may arise at an application level because different IP addresses are presented as clients.
Accordingly, in the load-balancing clusters, the single IP address type, for which an influence on an application does not need to be considered, is desirable.
The single IP address type can be broadly divided into the following two systems.
A first system is a representative node type. This system includes one representative node having a single IP address presented to a client and a plurality of back-end nodes having respective IP addresses. In this system, all packets from the client pass through the representative node, and are transferred to the backend nodes assigned for respective sessions. In this case, there are a method in which a response packet passes through the representative node and a method in which the response packet directly returns to the client without passing through the representative node. Usually, the representative node receives all the packets from the client to perform load balancing. Accordingly, there is an advantage that various load balancing algorithms can be applied while holding various information. However, the representative node tends to become a performance bottle neck, or an SPOF (Single Point Of Failure: single point of failure), which may be pointed out as a disadvantage. For that reason, the representative node is implemented, for example, on a hardware basis, using an ASIC (Application Specific Integrated Circuit: custom IC).
A second system is a distribution type. In this system, it is arranged that all nodes have a same IP address, and a packet from a client arrives at all the nodes. One of the nodes performs a process on the packet that has arrived, and returns the processed packet. It is a common practice to use the IP address of the client as a key to determine the node for processing the packet. In this system, each of the nodes must immediately determine itself whether to perform a process, for each packet. Accordingly, a complex load balancing algorithm cannot be applied. Unlike the representative node type, the distribution type has no SPOF, and it scarcely happens that the nodes become bottlenecks. As disadvantages, the following respects may be pointed out. That is, since packet acceptance must be immediately determined as mentioned above, a flexible load balancing algorithm is difficult to apply and loads may be centralized on a specific node. Since a HUB or switch port mirroring is used to cause the packet to be sent to all the nodes, a network itself becomes a bottleneck. Non-patent Document 1 allows application of a flexible load balancing algorithm by being configured as the distribution type and by providing a master node.
As described above, there are the representative node type and the distribution type in the load balancing cluster of the single IP address type. When a comprehensive judgment is made, the distribution type without an SPOF or a node that may become a bottleneck is preferred.
However, in the distribution type, there remain the disadvantages that the network becomes the bottleneck, that the HUB or port mirroring is necessary, and that only a simple load balancing algorithm can be applied.
Non-patent Document 1allows the flexible load balancing algorithm to be applied in the distribution type. However, Non-patent Document 1cannot solve the other disadvantages. That is, Non-patent Document 1cannot implement a system of the single IP address type in which flexible load balancing is possible, and which is scalable and, which does not need a special network.
As a related art, JP Patent Kokai Publication No. JP-P2004-046442A (Patent Document 1) discloses a load distribution method. A load distribution system in this related art is constituted from a client terminal which is a computer connected to a network and application servers which are computers. The load distribution system provides the client terminal with various services such as a processing on the servers process and provision of contents.
JP Patent Kokai Publication No. JP-P2005-167425A (Patent Document 2) discloses a network telephone system, a main unit of this network telephone system, and a connection information update method using the network telephone system. In this related art, the main unit adds, changes, or deletes a corresponding IP address in a table stored in a storage unit when the main unit receives from another main unit an IP address that has been added, changed, or deleted.
JP Patent Kokai Publication No. JP-P2006-259845A (Patent Document 3) discloses a server device, a server system, and a load distribution method of the server system. In this related art, all nodes sharing a single IP address is connected to a network. Types of the nodes include a master and a slave. Only one of the nodes connected to the network becomes the master, and all of the other nodes become slaves. The network causes the nodes to logically look like a single node, using only the single IP address. The network receives an ARP (Address Resolution Protocol) request from a known/unknown client. An ARP is a protocol for resolving a MAC (Media Access Control) address from the IP address.    [Patent Document 1]    Japanese Patent Kokai Publication No. JP-P2004-046442A    [Patent Document 2]    Japanese Patent Kokai Publication No. JP-P2005-167425A    [Patent Document 3]    Japanese Patent Kokai Publication No. JP-P2006-259845A    [Non-Patent Document 1]    “Distributed Single IP Clusters Enabling Flexible Load Balancing,” IPSJ SIG Technical Report, 2007-OS-106(1), Aug. 3, 2007